View
 

ROM Image Utility

Page history last edited by Max Scane 6 years, 9 months ago

Thanks to Max Scane has modified a tool from Roger Ivie we now have a ROM Image utility which can create ROM images and manipulate the contents of the ROM drives. 

 

Max has recently added a new utility similar to the SYSGEN program found in many CP/M distributions.  Its purpose is to update the system tracks of the boot ROM drive.

 

THANK YOU MAX!  I appreciate all the great work the N8VEM builders do!

 

Here are some instructions from Max for using the EXCHANGE utility:

 

Ok, I have sent Andrew a copy of the sources and an executable for Linux to be put up on the wiki.

 

[note: file available Linux version here]

 

[note: file available Win32 version here]

 

Exchange is based on cp/m 68k and is written in C rather than assembler as used in the 8080 version. Roger has modified it to run under Linux so the interface will look the same as cp/m. You can't run programs just a few of the ccp commands. I would like to modify it to enable the sysgen functionality of importing and exporting the system tracks into and out of the rom image.

 

I have added the N8VEM disk descriptors and a couple of command line switches. Here is a screen shot of how it is used. One note here is that if you are importing a file from Linux, its filename must be no more than 8.3 and in uppercase or it wont find it.

 

Regards,

Max.

 

max@linux:~/exchange$ exchange

usage: exchange [-p112] [-n8vema] [-n8vemf] imagefile

max@linux:~/exchange$ exchange -n8vema romimage.bin

A>dir

A: GM COM       : RTC COM     : XM COM

A>exit

max@linux:~/exchange$ exchange -n8vemf romimage.bin

A>dir

A: PIP COM      : ASM COM     : STAT COM   : DDT COM      : DUMP ASM

A: DUMP COM     : SUBMIT COM  : XSUB COM   : ED COM       : LOAD COM

A: DEBLOCK ASM  : RTC COM     : VDE263 COM : VINST263 COM : BOB TXT

A: BBCBASIC COM : N8VEM TXT

A>

A>import n8vem.txt

import N8VEM.TXT -> N8VEM .TXT

A>

A>dir

A: PIP COM      : ASM COM     : STAT COM   : DDT COM      : DUMP ASM

A: DUMP COM     : SUBMIT COM  : XSUB COM   : ED COM       : LOAD COM

A: DEBLOCK ASM  : RTC COM     : VDE263 COM : VINST263 COM : BOB TXT

A: BBCBASIC COM : N8VEM TXT

 

A>type n8vem.txt

This version of Exchange allows you to access the two disk images

located within the romimage.bin file

use exchange -n8vema romimage.bin to access the A: drive and

exchange -n8vemf romimage.bin to access the F: drive.

A>era n8vem.txt

A>dir

A: PIP COM      : ASM COM     : STAT COM    : DDT COM      : DUMP ASM

A: DUMP COM     : SUBMIT COM  : XSUB COM    : ED COM       : LOAD COM

A: DEBLOCK ASM  : RTC COM     : VDE263 COM  : VINST263 COM : BOB TXT

A: BBCBASIC COM

A>exit

 

 

 

INSTRUCTIONS FOR N8VEM SYSGEN UTILITY:

 

[note: file available Linux version here]

 

[note: file available Win32 version here] 

 

Sysgen is command line driven and has 3 options:

 

sysgen -C xxx filename             <-Note, Capital C

 

This option creates a new file xxx Kilobytes in size named filename.

 

Typically this would be 1024 for the standard N8VEM ROM and 16 for James' Mini ROM. Sysgen will also fill the file with 0xE5 so that the cp/m directory is empty. Once you have the base file created, you can use the xchange utility to load files into either the A: drive or the F: drive.

 

sysgen -i sysfile imagefile

 

This option overwrites (imports) the system tracks with the contents of "sysfile". Sysfile would be produced by the assembler and copy operation. You just need to modify the last copy operation in the buildTP2.bat file to look something like the following:

 

copy /B loader-a.bin+dbgmon-e.bin+cpm22-d1.bin n8vem.sys

 

This takes the loader and CP/M components and puts them in a file ready to write to the system track of the ROM. The beauty of using sysgen -i is that you don't need to touch the disk drive component of the ROM.

 

This will simplify making BIOS changes as you won't wipe out the directories.

 

sysgen -e sysfile imagefile

 

This option will extract the system track to a file. Probably not that usefull since we have the sources but maybe useful later down the track.

 

At the moment, Exchange does not support command line parameters such as import so you have to run it manually rather than in a script. I will have a look into that at some stage.  Interestingly, it does support submit so you could copy up a .sub file containing a number of import statements and then "submit it" and all the imports would occur without typing. Now that I have an easy way to modify the BIOS and update the

ROM I want to have a play... :-)

 

Anyway I have put it through its paces and done some compares with a ROM built the other way and they seem to be the same. Have a play and let me know if you have any problems.

 

Since I am OS agnostic, I have supplied a Linux version as well as a Windows command line version. However, since TASM is dos only, the win32 version will probably be more usefull.

 

Thanks and regards,

 

Max.

 

 

 

 

Comments (0)